package com.skivingcloud.develop.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

import java.io.Serializable;

/**
 *  实体类。
 *
 * @author skivingcloud
 * @since 2023-11-22
 */
@Schema(description = "表单设计实体类")
@Table(value = "sys_form_designer")
public class SysFormDesigner implements Serializable {

    /**
     * 主键
     */
    @Id
    @Schema(description = "主键")
    private String id;

    /**
     * 版本
     */
    @Schema(description = "版本")
    private Long version;

    /**
     * 编号
     */
    @NotBlank(message = "编号不能为空")
    @Size(max = 255, message = "编号长度不能超过255")
    @Schema(description = "编号")
    private String formCode;

    /**
     * 名称
     */
    @NotBlank(message = "名称不能为空")
    @Size(max = 255, message = "名称长度不能超过255")
    @Schema(description = "名称")
    private String formName;

    /**
     * 表单类型：1-管理页、2-表单页
     */
	@NotBlank(message = "表单类型不能为空")
    @Size(max = 6, message = "表单类型长度不能超过6")
    @Schema(description = "表单类型：1-管理页、2-表单页")
    private String formType;

    /**
     * 备注
     */
    @Size(max = 255, message = "备注长度不能超过255")
    @Schema(description = "备注")
    private String remark;

    /**
     * 表单设计数据
     */
    @Schema(description = "表单设计数据")
    private String formDesJson;

    /**
     * 是否已发布：0-否、1-是
     */
    @Schema(description = "是否已发布")
    private String resStatus;

    /**
     * 数据库字段设计
     */
    @Schema(description = "数据库字段设计")
    private String formColumnJson;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    public String getFormCode() {
        return formCode;
    }

    public void setFormCode(String formCode) {
        this.formCode = formCode;
    }

    public String getFormName() {
        return formName;
    }

    public void setFormName(String formName) {
        this.formName = formName;
    }

    public String getFormType() {
        return formType;
    }

    public void setFormType(String formType) {
        this.formType = formType;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getFormDesJson() {
        return formDesJson;
    }

    public void setFormDesJson(String formDesJson) {
        this.formDesJson = formDesJson;
    }

    public String getResStatus() {
        return resStatus;
    }

    public void setResStatus(String resStatus) {
        this.resStatus = resStatus;
    }

    public String getFormColumnJson() {
        return formColumnJson;
    }

    public void setFormColumnJson(String formColumnJson) {
        this.formColumnJson = formColumnJson;
    }
}
